home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Plug-In Power Pack for Netscape Communicator
/
Plug-In Power Pack for Netscape Communicator.iso
/
plugins
/
dataviews
/
include
/
vnsetup.h
< prev
next >
Wrap
Text File
|
1997-05-08
|
4KB
|
107 lines
/*
| file name -- VNsetup.h
|===================================================================
|
| Copyright (C) 1986, 1987 V. I. Corporation
|
| VNsetup - Info for interaction handlers.
|
| alan c morse 15 jan 87
| alan c morse 14 apr 87 Remove DRAW_INFO
| Earl Billingsley 05 mar 88 Change Erase to Cleanup
| mike krasnik 23 apr 91 Added ContextRedraw
| mike krasnik 5 may 91 Added a separate macro for
| widgets: TakeInput= NULL.
|
|===================================================================
|
| Module description/function:
| This contains data structures for Interaction Handlers.
|
|====================================================================
*/
/* Values for indices into Interaction Handler's jump table */
# define IH_SETUP_FOR_DRAW 0
# define IH_CONTEXT_DRAW 1
# define IH_ECHO_DRAW 2
# define IH_TAKE_INPUT 3
# define IH_TAKE_DATA 4
# define IH_DATA_RESET 5
# define IH_USER_ECHO 6
# define IH_CLEANUP_GRAPHICS 7
# define IH_CLEANUP_DATA 8
# define V_IHTABLE_SIZE 9
/*
set up Interaction handler jump tables (different on different hosts)
*/
#define def_init_table(TableName,VNname,VNTname) \
LOCAL VOID ContextDraw(), EchoDraw(), TakeData(), \
DataReset(), UserEcho(), CleanupGraphics(), CleanupData(); \
LOCAL int SetupForDraw(), TakeInput(); \
LOCAL ENTRY_PT TableName[V_IHTABLE_SIZE]; \
ENTRY_PT *VNTname( Table ) \
ENTRY_PT *Table; \
{ \
if( Table == (ENTRY_PT*)0 ) \
Table = TableName; \
Table[IH_SETUP_FOR_DRAW] = (ENTRY_PT)SetupForDraw; \
Table[IH_CONTEXT_DRAW] = (ENTRY_PT)ContextDraw; \
Table[IH_ECHO_DRAW] = (ENTRY_PT)EchoDraw; \
Table[IH_TAKE_INPUT] = (ENTRY_PT)TakeInput; \
Table[IH_TAKE_DATA] = (ENTRY_PT)TakeData; \
Table[IH_DATA_RESET] = (ENTRY_PT)DataReset; \
Table[IH_USER_ECHO] = (ENTRY_PT)UserEcho; \
Table[IH_CLEANUP_GRAPHICS] = (ENTRY_PT)CleanupGraphics; \
Table[IH_CLEANUP_DATA] = (ENTRY_PT)CleanupData; \
return Table; \
} \
GLOBALREF ENTRY_PT *(*VNname)()
#define def_entry_table(TableName,VNname,VNTname) \
def_init_table(TableName,VNname,VNTname); \
GLOBALDEF ENTRY_PT *(*VNname)() = VNTname
/*
| Used for widgets: No TakeInput.
*/
#define def_widget_init_table(TableName,VNname,VNTname) \
LOCAL VOID ContextDraw(), EchoDraw(), TakeData(), \
DataReset(), UserEcho(), CleanupGraphics(), CleanupData(); \
LOCAL int SetupForDraw(), TakeInput(); \
LOCAL ENTRY_PT TableName[V_IHTABLE_SIZE]; \
ENTRY_PT *VNTname( Table ) \
ENTRY_PT *Table; \
{ \
if( Table == (ENTRY_PT*)0 ) \
Table = TableName; \
Table[IH_SETUP_FOR_DRAW] = (ENTRY_PT)SetupForDraw; \
Table[IH_CONTEXT_DRAW] = (ENTRY_PT)ContextDraw; \
Table[IH_ECHO_DRAW] = (ENTRY_PT)EchoDraw; \
Table[IH_TAKE_INPUT] = (ENTRY_PT)NULL; \
Table[IH_TAKE_DATA] = (ENTRY_PT)TakeData; \
Table[IH_DATA_RESET] = (ENTRY_PT)DataReset; \
Table[IH_USER_ECHO] = (ENTRY_PT)UserEcho; \
Table[IH_CLEANUP_GRAPHICS] = (ENTRY_PT)CleanupGraphics; \
Table[IH_CLEANUP_DATA] = (ENTRY_PT)CleanupData; \
return Table; \
} \
GLOBALREF ENTRY_PT *(*VNname)()
#define def_widget_entry_table(TableName,VNname,VNTname) \
def_widget_init_table(TableName,VNname,VNTname) \
GLOBALDEF ENTRY_PT *(*VNname)() = VNTname